11765
16409
Tato otázka již má odpovědi zde:
Jak mohu vrátit odpověď z asynchronního volání?
(42 odpovědí)
Uzavřeno před 5 měsíci.
Takže při spuštění následujícího kódu není definována odpověď console.log (ba)
Ale když to zkusím v konzole Chrome V8, dostanu správný výstup, který očekávám. Nejsem si úplně jistý, co se tu děje.
nechť ba;
funkce Setqa () {
(async () => {
čekají na načtení ('questions.json')
.then (res => res.json ())
.then (async (data) => {
ba = čekat na data;
});
}) ();
}
Setqa ();
console.log (ba);
Obsah souboru json je následující:
"questions": [{
"questionType": "multiple",
"question": "Jaké je počasí",
"answer": "",
"otázka odpověď": ""
},
{
"questionType": "multiple",
"question": "Jak se dnes máš?",
"answer": " 1",
"questionAnswer": "textPurpose1"
}
] 
Myslím, že by to mělo fungovat
nechť ba;
funkce Setqa () {
návrat načíst ('questions.json')
.then (res => res.json ())
.then (async (data) => {
ba = čekat na data;
});
}
Setqa (). Then (() => console.log (ba));
Ale lepší přístup by byl
asynchronní funkce setQa () {
const res = čekat na načtení ('questions.json');
vrátit res.json ();
}
ať ba = čeká setQa ();
|
Toto není odpověď, kterou hledáte? Přečtěte si další otázky týkající se značek javascript json fetch console.log nebo položte vlastní otázku.